<?php
/**
 * Nadëb (Makú-Nadëb)
 * 
 * @author     Mateus Martins <mateusweb@gmail.com>
 * @copyright  Copyright 2010 mateusweb.com.br
 * @license    http://www.gnu.org/licenses/gpl.html | GPL
 * @package    Nadeb
 * @version    1.0.0
 */

/**
 * Class Nadeb_CrudConfig
 * Mastiga um arquivo ini e devolve arrays com informações sobre as tabelas para serem
 * manipulados (Grid/Insert/Updete/Delete)
 * 
 * @category   Nadeb
 * @package    Nadeb_CrudConfig
 * @copyright  Copyright 2010 mateusweb.com.br
 * @license    http://www.gnu.org/licenses/gpl.html | GPL
 */
class Nadeb_CrudConfig
{
	/**
	 * @var recebe um objeto instanciado de Zend_Config_Ini
	 */
	private $configsIni;
	
	
	/**
	 * Construtor da classe que disponibiliza o objeto armazenado no $configsIni para os demais metodos 
	 * 
	 * @param string $_module modulo onde está o arquivo ini
	 * @param string $_file nome do arquivo ini
	 * @return void
	 */
	public function __construct($_module,$_file)
	{
		$this->configsIni = new Zend_Config_Ini("./application/ini/$_module/forms/$_file.ini", "crudconfig");
	}
	
	/**
	 * Retorna um array com as informações da tabela
	 * 
	 * @return array
	 */
	public function get_tableConfig()
	{
		return $this->configsIni->table->toArray();
	}
		
	/**
	 * Retorna um array com as informações da tag do formulário
	 * 
	 * @return array
	 */
	public function get_tagFormConfig()
	{	
		return $this->configsIni->form->toArray();
	}
	
	/**
	 * Retorna um array com as informações de campos para o formulário
	 * 
	 * @return array
	 */
	public function get_inputsConfig()
	{		
		return $this->configsIni->content->toArray();				
	}
	
	/**
	 * Retorna um array com as informações para montar o data grid
	 * 
	 * @return array
	 */
	public function get_gridInfo()
	{
		return $this->configsIni->info->toArray();
	}
	
	/**
	 * Retorna um array com as informações so SQL para o data grid
	 * 
	 * @return array
	 */
	public function get_gridQuery()
	{
		$config["query"] = $this->configsIni->query;
			
		return $config;
	}
	
	/**
	 * Retorna um array com as informações das colunas do data grid
	 * 
	 * @return array
	 */
	public function get_gridColumns()
	{
		return $this->configsIni->columns->toArray();		
	}
	
	/**
	 * Retorna um array com as informações das ferramentas usadas no data grid
	 * 
	 * @return array
	 */
	public function get_gridTools()
	{
		if( isset( $this->configsIni->tools ) )
			return $this->configsIni->tools->toArray();
		else
			return 0;
	}
	
	/**
	 * Retorna um array com as informações dos filtros usados no data grid
	 * 
	 * @return array
	 */
	public function get_gridFilters()
	{
		if( isset( $this->configsIni->filters ) )
			return $this->configsIni->filters->toArray();
		else
			return 0;
	}
}